From 182975dadb7ac9fc8e851ed638dd6998002ff536 Mon Sep 17 00:00:00 2001
From: Andrey Rijov <rdron@users.sourceforge.net>
Date: Thu, 18 Aug 2011 22:03:13 +0400
Subject: [PATCH 1/7] Fixed bug #3392763

---
 Device_Manager_Widget.cpp |   21 ++++++++++++++++++---
 1 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/Device_Manager_Widget.cpp b/Device_Manager_Widget.cpp
index 7288baf..671930a 100644
--- a/Device_Manager_Widget.cpp
+++ b/Device_Manager_Widget.cpp
@@ -981,9 +981,10 @@ void Device_Manager_Widget::on_actionDelete_triggered()
 		{
 			if( ui.Devices_List->currentItem()->data(512).toString() == "device" + QString::number(fx) )
 			{
-				finded = true;
-				
 				Storage_Devices.removeAt( fx );
+				ui.Devices_List->takeItem( ui.Devices_List->currentRow() );
+				finded = true;
+				break;
 			}
 		}
 		
@@ -993,10 +994,24 @@ void Device_Manager_Widget::on_actionDelete_triggered()
 					 "Incorrect Device!" );
 			return;
 		}
+		else
+		{
+			// Rename items
+			for( int ix = 0, count = 0; ix < ui.Devices_List->count(); ++ix )
+			{
+				if( ui.Devices_List->item(ix)->data(512).toString().contains("device") )
+				{
+					ui.Devices_List->item(ix)->setData( 512, QString("device%1").arg(count) );
+					++count;
+				}
+			}
+			
+			emit Device_Changet();
+			return;
+		}
 	}
 	
 	ui.Devices_List->takeItem( ui.Devices_List->currentRow() );
-	
 	emit Device_Changet();
 }
 
-- 
1.7.8.3

